package cn.edu.gdgm.system.entity;

import java.time.LocalDateTime;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 用户设备信息
 * </p>
 *
 * @author running_hyk
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="Device对象", description="用户设备信息")
public class Device implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 设备UUID唯一识别号
     */
    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "设备UUID唯一识别号")
    private String uuid;

    /**
     * 药盒服务用户信息Id
     */
    @ApiModelProperty(value = "药盒服务用户信息Id")
    private String userId;

    /**
     * 设备型号
     */
    @ApiModelProperty(value = "设备型号")
    private String type;

    /**
     * 设备首次激活时间
     */
    @ApiModelProperty(value = "设备首次激活时间")
    private LocalDateTime firstLaunchTime;

    /**
     * 设备首次通讯时间
     */
    @ApiModelProperty(value = "设备首次通讯时间")
    private LocalDateTime firstAckTime;

    /**
     * 设备最后一次通讯时间
     */
    @ApiModelProperty(value = "设备最后一次通讯时间")
    private LocalDateTime lastConnectTime;

    /**
     * 设备通讯连接次数
     */
    @ApiModelProperty(value = "设备通讯连接次数")
    private Integer connectTimes;

    /**
     * 最后一次定位 纬度
     */
    @ApiModelProperty(value = "最后一次定位 纬度")
    private Float lastGpsLng;

    /**
     * 最后一次定位 经度
     */
    @ApiModelProperty(value = "最后一次定位 经度")
    private Float lastGpsLat;

    /**
     * 最后一次定位数据更新时间
     */
    @ApiModelProperty(value = "最后一次定位数据更新时间")
    private LocalDateTime lastGpsUpdateTime;

    /**
     * 用户药盒名称备注
     */
    @ApiModelProperty(value = "用户药盒名称备注")
    private String remark;

    /**
     * 用户药盒容量
     */
    @ApiModelProperty(value = "用户药盒容量")
    private Integer slotSize;


}
